Skip to content

MES-713: Parallelize Fuse Interface#35

Open
markovejnovic wants to merge 2 commits intomainfrom
parallel-fuse
Open

MES-713: Parallelize Fuse Interface#35
markovejnovic wants to merge 2 commits intomainfrom
parallel-fuse

Conversation

@markovejnovic
Copy link
Collaborator

No description provided.

@mesa-dot-dev
Copy link

mesa-dot-dev bot commented Feb 11, 2026

Mesa Description

This pull request refactors the FUSE filesystem implementation to be fully thread-safe, enabling concurrent processing of filesystem operations. Previously, the single-threaded design caused the filesystem to block on long-running I/O operations, leading to unresponsiveness.

To achieve this, the following key changes were made:

  • Asynchronous FUSE Adapter: The core FuserAdapter now spawns each filesystem operation (e.g., lookup, read) into a separate Tokio task, allowing the main FUSE loop to remain non-blocking.
  • Thread-Safe Data Structures: Standard collections like HashMap were replaced with concurrent equivalents (scc::HashMap) or protected with parking_lot::RwLock across the entire mescloud module. This ensures that shared state can be safely accessed and modified by multiple threads.
  • Immutable Trait Methods: The Fs trait was updated to use immutable &self receivers for most methods. This API change enables shared, parallel access to filesystem components, which is fundamental to the new concurrent design.
  • Dependency Addition: The parking_lot crate was added to provide more efficient and feature-rich locking primitives compared to the standard library's Mutex.

Description generated by Mesa. Update settings

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

Comments